Pengurusan pakej Arch Linux

Satu-satunya platform perduaan yang disokong Arch Linux ialah x86_64. Repositori pakej Arch dan Repositori Pengguna Arch (AUR) mengandungi 58,000 pakej perduaan dan sumber, yang hampir dengan jumlah 68,000 pakej di Linux Debian; namun begitu, pendekatan pengedaran mereka berdua untuk pembungkusan pakej adalah berbeza, menyebabkan perbandingan secara langsung sukar dilakukan. Sebagai contoh, enam daripada 58,000 pakej Arch terdiri daripada perisian AbiWord, yang mana tiga daripadanya berada di repositori pengguna untuk menggantikan pakej Abiword kanonik dengan jenis atau versi binaan alternatif (seperti mengambil sumber dari keterikatan terbaru di repositori kawalan sumber Abiword), sedangkan Debian memasang versi tunggal Abiword di tujuh pakej.[38] Repositori Pengguna Arch juga mengandungi pakej sempurna penulis yang memasang beberapa penukar format dokumen, sementara Debian menyediakan setiap satu daripada lebih dari 20 penukar dalam subpakejnya sendiri.[39]

Pacman

Untuk memudahkan perubahan pakej biasa, Pacman (singkatan "package manager" (pengurus pakej)) yang dibangunkan oleh Judd Vinet untuk menyediakan Arch dengan pengurus pakejnya sendiri untuk mengesan kebersandaran.[40] Ia ditulis dalam bahasa C.[41]

Semua pakej diuruskan menggunakan pengurus pakej Pacman. Pacman mengurus pemasangan, penataran, penuruntarafan, pembuangan dan juga penyelesaian kebersandaran automatik ciri pakej. Pakej untuk Arch Linux diperoleh daripada pepohon pakej Arch Linux dan dikompil untuk seni bina x86-64. Ia menggunakan pakej perduaan di tar.zst[42][43][44] (untuk pemampatan zstd), dengan .pkg diletakkan sebelumnya untuk menunjukkan bahawa ianya pakej Pacman (memberikannya .pkg.tar.zst).[41]

Selain daripada Arch Linux, Pacman juga digunakan untuk memasang pakej di bawah MSYS2 (cabangan Cygwin) di Windows.[45]

Repositori

Repositori perduaan rasmi berikut wujud:[46]

  • core, harfiahnya inti, mengandungi semua pakej yang diperlukan untuk menetapkan sistem asas
  • extra, harfiahnya tambahan, menyimpan pakej yang tidak diperlukan untuk sistem asas, termasuk persekitaran dan atur cara atas meja
  • community, harfiahnya komuniti, mengandungi pakej yang dibina dan diundi oleh komuniti; menyertakan pakej yang mempunyai undian yang cukup dan telah diterima pakai oleh "pengguna yang dipercayai".
  • multilib, harfiahnya pelbagai pustaka, repositori berpusat untuk pengguna x86-64 supaya lebih mudah untuk mereka menyokong aplikasi 32-bit dalam persekitaran 64-bit.

Selain itu, terdapat juga repositori percubaan yang merangkumi calon pakej perduaan untuk repositori lain. Ketika ini, wujudnya repositori percubaan berikut:

  • testing, harfiahnya ujian, dengan pakej percubaan ditujukan untuk core dan extra.
  • community-testing, harfiahnya ujian komuniti, dengan pakej percubaan ditujukan untuk community.
  • multilib-testing, harfiahnya ujian pelbagai pustaka, dengan pakej percubaan ditujukan untuk multilib .

Repositori staging (harfiahnya pemeringkatan) dan community-staging (harfiahnya pemeringkatan komuniti) digunakan untuk beberapa pembinaan semula untuk mengelakkan pakej yang rosak dalam testing.

Terdapat juga dua repositori lain yang merangkumi versi terbaru persekitaran atas meja tertentu.

  • gnome-unstable, harfiahnya GNOME tidak stabil, mengandungi pakej perisian versi baru dari GNOME sebelum diterbitkan ke dalam testing.
  • kde-unstable, harfiahnya KDE tidak stabil, mengandungi pakej versi baru perisian KDE sebelum diterbitkan ke dalam testing.

Repositori unstable (harfiahnya tidak stabil) digugurkan pada bulan Julai 2008 dan sebahagian besar pakej dipindahkan ke repositori yang lain.[47] Sebagai tambahan kepada repositori rasmi, terdapat sejumlah repositori pengguna tidak rasmi.

Repositori tidak rasmi yang paling terkenal ialah Repositori Pengguna Arch, atau AUR (Arch User Repository), yang dihoskan di laman Arch Linux. Walau bagaimanapun, AUR tidak hos pakej perduaan, sebaliknya hos himpunan skrip binaan yang dikenali sebagai PKGBUILD.

Repositori Arch Linux mengandungi kedua-dua perisian bebas dan tidak bebas, dan inti Arch Linux lalai mengandungi BLOB berhak milik tidak bebas, oleh itu pengedarannya tidak disokong oleh projek GNU.[48]

Sistem Binaan Arch (ABS)

Sistem Binaan Arch (Arch Build System, ABS) ialah sistem pembungkusan sumber ala-port yang mengkompil bebola tar sumber menjadi pakej binari, yang dipasang melalui Pacman.[49] Sistem Binaan Arch menyediakan pepohon direktori merangkumi skrip shell, yang dipanggil PKGBUILD, yang membolehkan mana-mana dan semua pakej Arch rasmi disesuaikan dan dikompil. Membina semula seluruh sistem menggunakan bendera pengkompil yang diubahsuai juga disokong oleh Sistem Binaan Arch. Alat makepkg dalam Sistem Binaan Arch boleh digunakan untuk membuat pakej pkg.tar.zst tersuai dari sumber pihak ketiga. Pakej yang dihasilkan juga boleh dipasang dan mampu dijejak menggunakan Pacman.[50][51]

Repositori Pengguna Arch (AUR)

Tambahan kepada repositori, Repositori Pengguna Arch (Arch User Repository, AUR) juga menyediakan skrip PKGBUILD buatan pengguna untuk pakej yang tidak termasuk dalam repositori. Skrip PKGBUILD ini mempermudahkan pembinaan dari sumber dengan menyenaraikan dan memeriksa kebersandaran secara betul-betul dan menatarajah pemasangan agar padan dengan seni bina Arch.[52] Atur cara pembantu Repositori Pengguna Arch dapat memperkemaskan lagi pemuatturunan skrip PKGBUILD dan proses pembinaan yang berkaitan. Walau bagaimanapun, kemudahan ini hadir dengan mengorbankan pelakukan PKGBUILD yang tidak disahkan oleh orang yang dipercayai; sebagai hasilnya, pembangun Arch telah menyatakan bahawa utiliti untuk mencari, memuat turun dan melakukan PKGBUILD secara automatik tidak akan dimasukkan ke dalam repositori rasmi.[53]

Pengguna boleh membuat pakej yang serasi dengan Pacman menggunakan Sistem Binaan Arch dan skrip PKGBUILD tersuai.[54] Fungsi ini telah membantu menyokong Repositori Pengguna Arch, yang terdiri daripada pakej sumbangan pengguna untuk melengkapkan repositori rasmi.[55]

Repositori Pengguna Arch menyediakan komuniti dengan pakej yang tidak termasuk dalam repositori rasmi. Antara sebabnya termasuklah:

  • Masalah perlesenan: perisian yang tidak boleh diedarkan semula, tetapi bebas digunakan, boleh dimasukkan ke dalam Repositori Pengguna Arch kerana apa yang dihoskan di laman web Arch Linux sendiri hanyalah skrip kekerang yang memuat turun perisian sebenar dari tempat lain. Contohnya termasuklah perisian percuma berhak milik seperti Google Earth dan RealPlayer.
  • Pakej rasmi yang diubah: Repositori Pengguna Arch juga mengandungi banyak variasi daripada pakej rasmi dan juga versi beta perisian yang terkandung dalam repositori utama sebagai terbitan stabil.
  • Perisian yang jarang: program yang jarang digunakan (masih) belum ditambahkan ke repositori rasmi.
  • Versi beta atau "saban malam" yang sangat baru dan tidak stabil. Contohnya pakej "firefox-nightly", yang memberikan binaan harian terbaru pelayar web Firefox.

PKGBUILD untuk sebarang perisian boleh disumbangkan oleh pengguna biasa dan setiap PKGBUILD yang tidak terhad kepada Repositori Pengguna Arch atas alasan polisi boleh diundi untuk dimasukkan ke dalam repositori komuniti.

Rujukan

WikiPedia: Arch Linux http://allanmcrae.com/2011/12/pacman-package-signi... http://www.linuxdistroreview.com/arch-linux http://ostatic.com/blog/debian-project-lead-snappy... http://www.hardware.no/artikler/aaron_griffin_engl... http://git.kernel.org/?p=linux/kernel/git/torvalds... http://www.tuxmachines.org/node/15527 https://distrowatch.com/dwres.php?resource=intervi... https://distrowatch.com/weekly.php?issue=20090119#... https://distrowatch.com/weekly.php?issue=20090914#... https://distrowatch.com/weekly.php?issue=20151221#...